Scroll to cursor after canceling a selection
authorneyfag <11970-neyfag@users.noreply.gitlab.gnome.org>
Thu, 30 Jul 2020 13:52:57 +0000 (15:52 +0200)
committerneyfag <11970-neyfag@users.noreply.gitlab.gnome.org>
Thu, 30 Jul 2020 13:52:57 +0000 (15:52 +0200)
gtk/gtktextview.c

index f59b2592772c9b8042648e524531810efe41e8de..473d9fb10f473d25323fccb8738091266faa5577 100644 (file)
@@ -6335,26 +6335,22 @@ gtk_text_view_move_cursor (GtkTextView     *text_view,
   */
   move_cursor (text_view, &newplace, extend_selection);
 
-  if (!gtk_text_iter_equal (&insert, &newplace))
-    {
-      DV(g_print (G_STRLOC": scrolling onscreen\n"));
-      gtk_text_view_scroll_mark_onscreen (text_view,
-                                          gtk_text_buffer_get_insert (get_buffer (text_view)));
+  DV(g_print (G_STRLOC": scrolling onscreen\n"));
+  gtk_text_view_scroll_mark_onscreen (text_view,
+                                      gtk_text_buffer_get_insert (get_buffer (text_view)));
 
-      if (step == GTK_MOVEMENT_DISPLAY_LINES)
-        gtk_text_view_set_virtual_cursor_pos (text_view, cursor_x_pos, -1);
-    }
-  else if (leave_direction != (GtkDirectionType)-1)
+  if (step == GTK_MOVEMENT_DISPLAY_LINES)
+    gtk_text_view_set_virtual_cursor_pos (text_view, cursor_x_pos, -1);
+
+  if (gtk_text_iter_equal (&insert, &newplace))
     {
-      if (!gtk_widget_keynav_failed (GTK_WIDGET (text_view),
-                                     leave_direction))
+      if (leave_direction != (GtkDirectionType)-1)
         {
-          g_signal_emit_by_name (text_view, "move-focus", leave_direction);
+          if (!gtk_widget_keynav_failed (GTK_WIDGET (text_view), leave_direction))
+            g_signal_emit_by_name (text_view, "move-focus", leave_direction);
         }
-    }
-  else if (! cancel_selection)
-    {
-      gtk_widget_error_bell (GTK_WIDGET (text_view));
+      else if (!cancel_selection)
+        gtk_widget_error_bell (GTK_WIDGET (text_view));
     }
 
   gtk_text_view_check_cursor_blink (text_view);